def outer_function(text):
    # 外部函数定义了一个变量text
    def inner_function():
        # 内部函数引用了外部函数的变量text
        print(text)
        # 返回内部函数，但没有执行它
    i=1
    #inner_function是一个函数对象<function outer_function.<locals>.inner_function at 0x00000234802A05E0>
    return inner_function


# 调用外部函数，并将结果（即内部函数）赋值给my_closure
my_closure = outer_function("Hello, this is a closure!")

# 调用闭包（即内部函数），此时即使外部函数已经执行完毕，变量text仍然可以被访问
my_closure()  # 输出: Hello, this is a closure!